package com.starkuz.mailsender;


import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class ConfirmationSender {

    private final static String TEMPLATE_MESSAGE_BEGIN = "Здравствуйте!  \n" +
            "\n Благодарим Вас за доверие." +
            "\n Ресурс StarKuz LeadGen к Вашим услугам!" +
            "\n" +
            "\n Для активации Вашего аккаунта, пожалуйста, перейдите по ссылке:" +
            "\n" +
            "\n http://www.alobov.ru/lg/activation.html?id=";
    private final static String TEMPLATE_MESSAGE_END =
            "\n"+
            "\n"+
            "\n С уважением, Владимир Юсупов" +
            "\n специалист службы поддержки StarKuz" +
            "\n http://alobov.ru" +
            "\n";

    public static void sendConfirmationMail(String mailTo, Integer userId){
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session session = Session.getDefaultInstance(props,
                new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("vovix@alobov.ru","Yulya1811");
                    }
                });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("vovix@alobov.ru"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(mailTo));
            message.setSubject("Подтверждение регистрации на StarKuz LeadGen");
            String mess = TEMPLATE_MESSAGE_BEGIN + userId + TEMPLATE_MESSAGE_END;
            message.setText(mess);
            Transport.send(message);
        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }


}
